Methods and systems for operating a group watching session

ABSTRACT

Systems and methods are described for operating a group watching session, in which a group watching session for presentation of a media content item is initiated at a first participant device and a second participant device; a segment of the media content item for which the presentation of the media content item is to be synchronized at the first participant device and the second participant device is identified; a viewing progress of the media content item at the first participant device is determined to be different from a viewing progress of the media content item at the second participant device; and in response to the determining, the viewing progress at the first and second participant devices is synchronized for the presentation of the identified segment.

BACKGROUND

The present disclosure relates to methods and systems for operating agroup watching session. Particularly, but not exclusively, the presentdisclosure relates to generating a synchronization schedule for a groupwatching session and ensuring that viewing progress for usersparticipating in the group watching session is synchronized for a keysegment of a media content item presented in the group watching session.

SUMMARY

Virtual group watching of a media content item has gained a lot ofpopularity in recent time. For example, where multiple users are notable to, or choose not to, physically meet, they may participate in agroup watching session of a media content item, in which the viewing ofthe media content item is synchronized between multiple user devices. Insuch a group watching session, if one user pauses content, it will pausefor everyone, and resume for everyone when so requested. However,operating a group watching session in this manner does not account forhow each participant may wish to participate in the group watchingsession, e.g., based on the preferences of each user. For example,different users may have different ways of watching and/or maylike/dislike different elements of the media content item presented inthe group watching session. Additionally or alternatively, one or moreexternal factors, such as whether a particular user is interruptedduring the group watching session, may cause the media content itempresented in the group watching session to be unnecessarily paused forall users. In order to enhance the experience of the group watchingsession, it is desirable to provide a degree of flexibility in thesynchronisation of the presentation of the media content item betweenmultiple user devices.

Systems and methods are provided herein for operating a group watchingsession, e.g., by identifying which segments of a media content itempresented in the group watching session are of common interest, andselectively controlling which segments of the media content item maybecome unsynchronized and which segments are to be synchronized forpresentation. Such systems and methods may provide an improvedexperience for the user, e.g., by allowing users to individually controlplayback of certain segments of a media content item, e.g., to accountfor interruptions and/or individual levels of interest in certainsegments, while synchronizing playback for key segments of the mediacontent item.

According to some examples, methods and systems are provided, e.g., forimproved operation of a group watching session, in which a groupwatching session is initiated for presentation of a media content itemat a first participant device and a second participant device. A segmentof the media content item is identified for which the presentation ofthe media content item, e.g., the segment of the media content item, isto be synchronized at the first participant device and the secondparticipant device. In some examples, the identified segment is asegment identified as a segment of potential interest to one or moreusers in the group watching session. A viewing progress of the mediacontent item is determined at the first participant device that isdifferent from a viewing progress of the media content item at thesecond participant device. In response to determining that the viewingprogress of the media content item at the first participant device isdifferent from the viewing progress of the media content item at thesecond participant device, causing the viewing progress at the first andsecond participant devices to be synchronized for the presentation ofthe identified segment.

In some examples, causing the viewing progress at the first and secondparticipant devices to be synchronized comprises presenting additionalcontent to at least one of the first or second participant devices tosynchronize the viewing progress at the first and second participantdevices, e.g., by the start of the identified segment. Additionally oralternatively, causing the viewing progress at the first and secondparticipant devices to be synchronized comprises controlling, e.g.,automatically controlling, a playback speed of the media content item onat least one of the first or second participant devices to synchronizethe viewing progress of the first and second participant devices, e.g.,by the start of the segment.

In some examples, determining that the viewing progress of the mediacontent item at the first participant device is different from theviewing progress of the media content item at the second participantdevice comprises determining a duration of the media content itembetween the viewing progress at each of the first and second participantdevices and the segment of the media content item. Additionally oralternatively, determining that the viewing progress of the mediacontent item at the first participant device is different from theviewing progress of the media content item at the second participantdevice comprises determining a duration of the media content itembetween the viewing progress at the first participant device and theviewing progress at the second participant device.

In some examples, a synchronization schedule for the group watchingsession is generated. The synchronization schedule may comprise at leastone segment for which the viewing progress of the first and secondparticipants is to be (or needs to be) synchronized, and at least onesegment for which the viewing progress of the first and secondparticipants is not to be (or needs not be) synchronized. For example,viewing progress at the first and second participants may need to besynchronized for a first segment, and viewing progress at the first andsecond participants may need not be synchronized for a second segment,but may still be synchronised, e.g., coincidently.

In some examples, playback functionality (e.g., rewind, fast forward,pause, etc.) is controlled, e.g., automatically controlled, for at leastone of the first or second participant devices based on thesynchronization schedule.

In some examples, one or more content-level factors associated with themedia content item are determined. In some examples, one or moreparticipant-level factors associated with a user profile are determined.In some examples, the synchronization schedule is generated based on atleast one of the one or more content-level factors and/or the one ormore participant-level factors.

In some examples, a conflict between at least one content-level factorand at least one participant-level factor is determined. In someexamples, the synchronization schedule is confirmed or updated based onthe conflict.

In some examples, controlling the playback speed of the media contentitem causes at least one of the first and second participant devices toskip a portion of the media content item. In some examples, the skippedportion is presented at the first participant device and/or the secondparticipant device after presentation of the identified segment.

In some examples, one or more interruptions in the viewing progress aredetermined at one or more of the first or second participant devices. Inresponse to determining one or more interruptions in the viewingprogress at one or more of the first and second participant devices, theviewing progress of the first and second participant devices is causedto be synchronized for the identified segment of the media content item.

In some examples, a group communication mode is initiated for theidentified segment of the media content item.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1A illustrates an overview of a system for operating a groupwatching session, in accordance with some examples of the disclosure;

FIG. 1B illustrates another overview of the system for operating a groupwatching session, in accordance with some examples of the disclosure;

FIG. 2 is a block diagram showing components of an example system foroperating a group watching session, in accordance with some examples ofthe disclosure;

FIG. 3 is a flowchart representing a process for operating a groupwatching session, in accordance with some examples of the disclosure;

FIG. 4A illustrates a diagrammatic representation of various segments ofa media content item, in accordance with some examples of thedisclosure;

FIG. 4B illustrates a diagrammatic representation of various segments ofa media content item, in accordance with some examples of thedisclosure;

FIG. 4C illustrates a diagrammatic representation of various segments ofa media content item, in accordance with some examples of thedisclosure;

FIG. 4D illustrates a diagrammatic representation of various segments ofa media content item, in accordance with some examples of thedisclosure;

FIG. 4E illustrates a diagrammatic representation of various segments ofa media content item, in accordance with some examples of thedisclosure;

FIG. 4F illustrates a diagrammatic representation of various segments ofa media content item, in accordance with some examples of thedisclosure;

FIG. 5A is a flowchart representing another process for operating agroup watching session, in accordance with some examples of thedisclosure; and

FIG. 5B is a continuation of the flowchart shown in FIG. 5A.

DETAILED DESCRIPTION

FIGS. 1A and 1B illustrate an overview of a system 100 for operating agroup watching session in which the presentation of a media content itemis shared for multiple users. In particular, the example shown in FIGS.1A and 1B illustrates two users, e.g., a first user 110 a and a seconduser 110 b, participating in a group watching session in which a mediacontent item is being viewed or consumed on respective user (e.g.,participant) devices 102 a and 102 b. In FIG. 1A, the viewing progressof the media content item at the first user device 102 a has beeninterrupted, e.g., as a result of the first user 110 a receiving a pizzadelivery at the door. In such a case, the viewing progress of the mediacontent item at the first user device 102 a has been paused at a firstsegment of the media content item, while the viewing progress of themedia content item at the second user device 102 b has continued to alater segment of the media content item, which typically cannot happenduring a conventional group watching session. In FIG. 1B, the first user110 a has returned from collecting the pizza and wishes to resumewatching the media content item. However, the viewing progress of themedia content item is now different at the first user device 102 acompared to at the second user device 102 b. Such a situation may beundesirable as the later segment of the media content item is animportant segment for which viewing progress of the media content itemshould be synchronized across the first and second user devices 102 aand 102 b, e.g., to allow the first and second users 110 a, 110 b toconsume the media content item at substantially the same time. Thepresent disclosure, as discussed in detail below, provides improvedsystems and methods for operating a group watching session in which thesynchronization of the viewing progress of a media content item acrossmultiple user devices is controlled to allow the viewing progress atdifferent user devices to vary, e.g., to become unsynchronized andresynchronized. For example, viewing progress may be allowed to varywhere different users have different levels of interest in a segment ofa media content item, and viewing progress may be synchronized foranother segment of the media content item, e.g., a segment containingimportant information and/or where group communication is required.

In the example shown in FIGS. 1A and 1B, system 100 includes multipleuser devices 102, such as a tablet computer, a smartphone, a smarttelevision, or the like, configured to display or otherwise provide,e.g., aurally, media content to one or more respective users. System 100may also include network 108 such as the Internet, configured tocommunicatively couple user devices 102 to one or more servers 104and/or one or more content databases 106 from which media content, suchas TV shows, movies and/or advertisement content, may be obtained fordisplay on the user devices 102. User devices 102 and the one or moreservers 104 may be communicatively coupled to one another by way ofnetwork 108, and the one or more servers 104 may be communicativelycoupled to content database 106 by way of one or more communicationpaths, such as a proprietary communication path and/or network 108. Insome examples, server 104 may be a server of a service provider whoprovides media content for display on user devices 102.

In some examples, system 100 may comprise an application that providesguidance through an interface, e.g., a graphical user interface, thatallows users to efficiently navigate media content selections, navigatean interactive media content item, and easily identify media contentthat they may desire, such as content provided on a database on one ormore live streams. Such guidance is referred to herein as an interactivecontent guidance application or, sometimes, a content guidanceapplication, a media guidance application, or a guidance application. Insome examples, the application may be configured to provide arecommendation for a content item, e.g., based on a user profile and/oran endorsement profile of the content item. For example, the applicationmay provide a user with a recommendation based for a content item basedon one or more endorsements present, e.g., visibly and/or audiblypresent, in the content item. In some examples, the application providesusers with access to a group watching session and/or group communicationfunctionality. For example, the application may provide a user with anoption to join a group watching session and participate in groupcommunication with one or more other users participating in the groupwatching session.

Interactive media guidance applications may take various forms,depending on the content for which they provide guidance. One typicaltype of media guidance application is an interactive television programguide. Interactive television program guides (sometimes referred to aselectronic program guides) are well-known guidance applications that,among other things, allow users to navigate among and locate many typesof content or media assets. Interactive media guidance applications maygenerate graphical user interface screens that enable a user to navigateamong, locate and select content. As referred to herein, the terms“media asset”, “content items” and “content” should each be understoodto mean an electronically consumable user asset, such as televisionprogramming, as well as pay-per-view programs, on-demand programs (as invideo-on-demand (VOD) systems), Internet content (e.g., streamingcontent, downloadable content, Webcasts, etc.), video clips, audio,content information, pictures, rotating images, documents, playlists,websites, articles, books, electronic books, blogs, chat sessions,social media, applications, games, and/or any other media or multimediaand/or combination of the same. Guidance applications also allow usersto navigate amid and locate content. As referred to herein, the term“multimedia” should be understood to mean content that utilizes at leasttwo different content forms described above, for example, text, audio,images, video, or interactivity content forms. Content may be recorded,played, displayed or accessed by user equipment devices, but can also bepart of a live performance.

The media guidance application and/or any instructions for performingany of the examples discussed herein may be encoded on computer-readablemedia. Computer-readable media includes any media capable of storingdata. The computer-readable media may be transitory, including, but notlimited to, propagating electrical or electromagnetic signals, or may benon-transitory, including, but not limited to, volatile and non-volatilecomputer memory or storage devices such as a hard disk, floppy disk, USBdrive, DVD, CD, media card, register memory, processor cache, randomaccess memory (RAM), etc.

With the ever-improving capabilities of the Internet, mobile computing,and high-speed wireless networks, users are accessing media on userequipment devices on which they traditionally did not. As referred toherein, the phrases “user equipment device,” “user equipment,” “userdevice,” “computing device,” “electronic device,” “electronicequipment,” “media equipment device,” or “media device” should beunderstood to mean any device for accessing the content described above,such as a television, a Smart TV, a set-top box, an integrated receiverdecoder (IRD) for handling satellite television, a digital storagedevice, a digital media receiver (DMR), a digital media adapter (DMA), astreaming media device, a DVD player, a DVD recorder, a connected DVD, alocal media server, a BLU-RAY player, a BLU-RAY recorder, a personalcomputer (PC), a laptop computer, a tablet computer, a WebTV box, apersonal computer television (PC/TV), a PC media server, a PC mediacenter, a hand-held computer, a stationary telephone, a personal digitalassistant (PDA), a mobile telephone, a portable video player, a portablemusic player, a portable gaming machine, a smartphone, or any othertelevision equipment, computing equipment, or wireless device, and/orcombination of the same. In some examples, the user equipment device mayhave a front-facing screen and a rear-facing screen, multiple frontscreens, or multiple angled screens. In some examples, the userequipment device may have a front-facing camera and/or a rear-facingcamera. On these user equipment devices, users may be able to navigateamong and locate the same content available through a television.Consequently, media guidance may be available on these devices, as well.The guidance provided may be for content available only through atelevision, for content available only through one or more of othertypes of user equipment devices, or for content available through both atelevision and one or more of the other types of user equipment devices.The media guidance applications may be provided as online applications(i.e., provided on a website), or as stand-alone applications or clientson user equipment devices. Various devices and platforms that mayimplement media guidance applications are described in more detailbelow.

One of the functions of the media guidance application is to providemedia guidance data to users. As referred to herein, the phrase “mediaguidance data” or “guidance data” should be understood to mean any datarelated to content or data used in operating the guidance application.For example, the guidance data may include program information, subtitledata, guidance application settings, user preferences, user profileinformation, media listings, media-related information (e.g., broadcasttimes, broadcast channels, titles, descriptions, ratings information(e.g., parental control ratings, critics' ratings, etc.), genre orcategory information, actor information, logo data for broadcasters' orproviders' logos, etc.), media format (e.g., standard definition, highdefinition, 3D, etc.), on-demand information, blogs, websites, and anyother type of guidance data that is helpful for a user to navigate amongand locate desired content selections.

FIG. 2 is an illustrative block diagram showing example system 200configured to display media content. Although FIG. 2 shows system 200 asincluding a number and configuration of individual components, in someexamples, any number of the components of system 200 may be combinedand/or integrated as one device, e.g., as user device 102. System 200includes computing device 202, server 204 (e.g., server 106 and/orserver 108), and content database 206, each of which is communicativelycoupled to communication network 208, which may be the Internet or anyother suitable network or group of networks. In some examples, system200 excludes server 204, and functionality that would otherwise beimplemented by server 204 is instead implemented by other components ofsystem 200, such as computing device 202. In still other examples,server 204 works in conjunction with computing device 202 to implementcertain functionality described herein in a distributed or cooperativemanner.

Server 204 includes control circuitry 210 and input/output (hereinafter“I/O”) path 212, and control circuitry 210 includes storage 214 andprocessing circuitry 216. Computing device 202, which may be a personalcomputer, a laptop computer, a tablet computer, a smartphone, a smarttelevision, a smart speaker, or any other type of computing device,includes control circuitry 218, I/O path 220, speaker 222, display 224,and user input interface 226, which in some examples provides a userselectable option for enabling and disabling the display of modifiedsubtitles. Control circuitry 218 includes storage 228 and processingcircuitry 220. Control circuitry 210 and/or 218 may be based on anysuitable processing circuitry such as processing circuitry 216 and/or220. As referred to herein, processing circuitry should be understood tomean circuitry based on one or more microprocessors, microcontrollers,digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome examples, processing circuitry may be distributed across multipleseparate processors, for example, multiple of the same type ofprocessors (e.g., two Intel Core i9 processors) or multiple differentprocessors (e.g., an Intel Core i7 processor and an Intel Core i9processor).

Each of storage 214, storage 228, and/or storages of other components ofsystem 200 (e.g., storages of content database 206, and/or the like) maybe an electronic storage device. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, digital video disc (DVD) recorders, compact disc (CD)recorders, BLU-RAY disc (BD) recorders, BLU-RAY 2D disc recorders,digital video recorders (DVRs, sometimes called personal videorecorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. Each of storage214, storage 228, and/or storages of other components of system 200 maybe used to store various types of content, metadata, and or other typesof data. Non-volatile memory may also be used (e.g., to launch a boot-uproutine and other instructions). Cloud-based storage may be used tosupplement storages 214, 228 or instead of storages 214, 228. In someexamples, control circuitry 210 and/or 218 executes instructions for anapplication stored in memory (e.g., storage 214 and/or 228).Specifically, control circuitry 214 and/or 228 may be instructed by theapplication to perform the functions discussed herein. In someimplementations, any action performed by control circuitry 214 and/or228 may be based on instructions received from the application. Forexample, the application may be implemented as software or a set ofexecutable instructions that may be stored in storage 214 and/or 228 andexecuted by control circuitry 214 and/or 228. In some examples, theapplication may be a client/server application where only a clientapplication resides on computing device 202, and a server applicationresides on server 204.

The application may be implemented using any suitable architecture. Forexample, it may be a stand-alone application wholly implemented oncomputing device 202. In such an approach, instructions for theapplication are stored locally (e.g., in storage 228), and data for useby the application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). Control circuitry 218 may retrieve instructions for theapplication from storage 228 and process the instructions to perform thefunctionality described herein. Based on the processed instructions,control circuitry 218 may determine what action to perform when input isreceived from user input interface 226.

In client/server-based examples, control circuitry 218 may includecommunication circuitry suitable for communicating with an applicationserver (e.g., server 204) or other networks or servers. The instructionsfor carrying out the functionality described herein may be stored on theapplication server. Communication circuitry may include a cable modem,an Ethernet card, or a wireless modem for communication with otherequipment, or any other suitable communication circuitry. Suchcommunication may involve the Internet or any other suitablecommunication networks or paths (e.g., communication network 208). Inanother example of a client/server-based application, control circuitry218 runs a web browser that interprets web pages provided by a remoteserver (e.g., server 204). For example, the remote server may store theinstructions for the application in a storage device. The remote servermay process the stored instructions using circuitry (e.g., controlcircuitry 210) and/or generate displays. Computing device 202 mayreceive the displays generated by the remote server and may display thecontent of the displays locally via display 224. This way, theprocessing of the instructions is performed remotely (e.g., by server204) while the resulting displays, such as the display windows describedelsewhere herein, are provided locally on computing device 202.Computing device 202 may receive inputs from the user via inputinterface 226 and transmit those inputs to the remote server forprocessing and generating the corresponding displays.

A user may send instructions, e.g., to view an interactive media contentitem and/or select one or more programming options of the interactivemedia content item, to control circuitry 210 and/or 218 using user inputinterface 226. User input interface 226 may be any suitable userinterface, such as a remote control, trackball, keypad, keyboard,touchscreen, touchpad, stylus input, joystick, voice recognitioninterface, gaming controller, or other user input interfaces. User inputinterface 226 may be integrated with or combined with display 224, whichmay be a monitor, a television, a liquid crystal display (LCD), anelectronic ink display, or any other equipment suitable for displayingvisual images.

Server 204 and computing device 202 may transmit and receive content anddata via I/O path 212 and 220, respectively. For instance, I/O path 212and/or I/O path 220 may include a communication port(s) configured totransmit and/or receive (for instance to and/or from content database206), via communication network 208, content item identifiers, contentmetadata, natural language queries, and/or other data. Control circuitry210, 218 may be used to send and receive commands, requests, and othersuitable data using I/O paths 212, 220.

FIG. 3 is a flowchart representing an illustrative process 300 foroperating a group watching session, in accordance with some examples ofthe disclosure. FIGS. 4A to 4F show a synchronization schedule for thegroup watching session and various viewing progresses of multiple usersin the group watching session. While the example shown in FIGS. 3 and 4Ato 4F refers to the use of system 100, as shown in FIGS. 1A and 1B, itwill be appreciated that the illustrative process shown in FIGS. 3 and4A to 4F, and any of the other following illustrative processes, may beimplemented on system 100, either alone or in combination with any otherappropriately configured system architecture, such as system 200 shownin FIG. 2 .

At 302, control circuitry initiates a group watching session forpresentation of a media content item at multiple user devices, e.g., atthe first user device 102 a and the second user device 102 b. In theexample shown in FIGS. 1A and 1B, the media content item being presentedis The Empire Strikes Back. However, in one or more other examples (notshown), the media content item may be a media content item beingpresented during a group communication session, such as a slideshowpresented during a work meeting or a lecture. For example, the groupwatching session may comprise a group communication session havingvideoconference and/or teleconference functionality. In some examples,the group communication is initiated in response to a user initiating agroup watching session. For example, a first user may set up a groupwatching session and invite one or more other users to join. Whenanother user joins the group watching session, they may be also joinedto the group watching session, and optionally a group communicationsession.

At 304, control circuitry identifies a segment of the media content itemfor which the presentation of the media content item is to besynchronized at the first user device 102 a and the second user device102 b. For example, control circuitry may cause a synchronizationschedule to be generated for the media content item, e.g., based on oneor more content-level factors and/or one or more user-level factors.

In the context of the present disclosure, a content-level factor is anyappropriate parameter and/or data associated with the media contentitem. For example, a content-level factor may be related to the contentof one or more segments (e.g., at least one scene/frame) of the mediacontent item. In some examples, a content-level factor may comprisemetadata describing the content of one or more segments of the mediacontent item, such as an actor and/or filming location shown in asegment, or the subject-matter of a slide of a slideshow being shown ina segment, such as a portion of an academic module. In some examples,the content-level factor may relate to the importance of the content ofthe segment. For example, the content-level factor may indicate that asegment of a movie contains information key to the understanding of themovie plot, or a segment of a webinar contains information key to theunderstanding of the webinar topic. In some examples, the content-levelfactor may be determined based on historic viewing statistics relatingto the number of users that have previously watched the segment.Additionally or alternatively, the content-level factor may bedetermined based on an understanding of how one or more other userspreviously responded to the segment, e.g., control circuitry may beconfigured to determine the popularity of a segment of a media contentitem based on metadata relating to one or more reviews of the segmentand/or online discussions about the segment. In some examples, controlcircuitry maybe configured to track the number/type of user inputs madeinto a user device during previous presentation of the segment, e.g., todetermine whether one or more users chose to pause the presentation ofthe media content item and/or enter into group communication. Using theabove example of the media content item being the movie The EmpireStrikes Back, a content-level factor may show that important informationrelevant to the understanding of the plot occurs in the scene whereDarth Vader discloses to Luke Skywalker that they are related. Controlcircuitry may determine such a content-level factor based on metadatasupplied by the producer of the movie, metadata added by a serviceprovider streaming the movie for the group watching session, and/or as aresult of analyzing metadata relating to history user comment/reactionto that particular scene.

In the context of the present disclosure, a user-level factor is anyappropriate parameter and/or data associated with a user participatingin the group watching session. For example, control circuitry maydetermine a user-level factor by accessing a user profile storing a userpreference for certain content of one or more segments (e.g., at leastone scene/frame) of the media content item. For example, a userpreference may relate to a preferred (or a non-preferred) actor.Additionally or alternatively, a user-level factor may be determinedfrom the user's past viewing history and/or viewing patterns, and/or bycomparing the user's past viewing history and/or viewing patterns withanother user's past viewing history and/or viewing patterns. Forexample, control circuitry may be configured to analyse how a usertypically watches content, e.g., how often a user controls playbackfunction (such as pause, rewind, etc.), when a user controls playbackfunction, when a user controls playback function in relation to certaintypes of content, and/or one or more user actions subsequent to watchingcontent (e.g., reading trivia about the content, and/or discussing thecontent with one or more other users). For example, one user may nothave much understanding of content relating to space and time travel. Assuch, when watching content relating to space and time travel that usermay more frequently pause/rewind the content than another user who has agreater level of understanding of such content. Continuing with theabove example of the media content item being the movie The EmpireStrikes Back, a user-level factor may be a user's preference for sci-fimovies, and, in particular, the characters Darth Vader and LukeSkywalker. Additionally or alternatively, a user profile may contain oneor more rules indicating which segments of the movie may be of moreinterest and which segments may be of less interest. For example, a usermay set, or control circuitry may determine, e.g., based on viewinghistory, a rule indicating a lower interest in segments of the moviethat are dialogue-based, and a rule indicating higher interest in insegments of the movie that are action-based.

FIGS. 4A to 4F each show a synchronization schedule 400 generated usinga combination of content-level factors and user-level factors formultiple segments of a media content item. For example, synchronizationschedule 400 may be generated for segments A-G of the movie The EmpireStrikes Back. Row A of synchronization schedule 400 represents thesegments of the media content item for which the presentation of themedia content item likely requires synchronization at the first userdevice 102 a and the second user device 102 b, based on content-levelfactors. For example, content-level factors for the movie The EmpireStrikes Back may indicate that presentation of segments B, E and F willlikely require synchronization at the first user device 102 a and thesecond user device 102 b. Row B of synchronization schedule 400represents the segments of the media content item for which thepresentation of the media content item likely requires synchronizationat the first user device 102 a and the second user device 102 b, basedon user-level factors for the first user 102 a. For example, user-levelfactors for the first user 110 a may indicate that presentation ofsegments B, C and D will likely require synchronization at the firstuser device 102 a and the second user device 102 b. Row C ofsynchronization schedule 400 represents the segments of the mediacontent item for which the presentation of the media content item likelyrequires synchronization at the first user device 102 a and the seconduser device 102 b, based on user-level factors for the second user 102b. For example, user-level factors for the second user 110 b mayindicate that presentation of segments B, D and F will likely requiresynchronization at the first user device 102 a and the second userdevice 102 b.

In some examples, a segment may be identified as a segment of the mediacontent item for which the presentation of the media content item is tobe synchronized at the first user device 102 a and the second userdevice 102 b (hereinafter referred to as a synchronized segment orsegment of interest) where at least one of the rows of synchronizationschedule 400 indicates a need for synchronization. For example, controlcircuitry may determine that segments B, C, D, E and F ofsynchronization schedule 400 require synchronization based on thecontent-level factors and the user-level factors of each of the firstand second users 110 a, 110 b. In particular, control circuitry maydetermine that: segment B requires synchronization, since at least oneof rows A, B and C indicate that segment B is a segment of interest;segment C requires synchronization, since row B indicates that segment Bis a segment of interest; segment D requires synchronization, since atleast one of rows B and C indicates that segment D is a segment ofinterest; segment E requires synchronization, since row A indicates thatsegment E is a segment of interest; and segment F requiressynchronization, since at least one of rows A and C indicates thatsegment F is a segment of interest. However, as discussed in more detailbelow, control circuitry may determine which segments requiresynchronization by assessing a conflict (or lack thereof) between one ormore content-level factors and the user-level factors of each of thefirst and second users 110 a, 110 b.

At 306, control circuitry determines the viewing progress of each of thefirst and second users 110 a, 110 b. For example, control circuitry maydetermine that the viewing progress of the media content item at thefirst participant device is different from a viewing progress of themedia content item at the second participant device. In the exampleshown in FIGS. 4A to 4F, the viewing progress of the first user 110 a isrepresented by progress bar 402 a and the viewing progress of the seconduser 110 b is represented by progress bar 402 b. Referring to theexamples shown in FIG. 1A, the viewing progress of the first user 110 ahas been interrupted, e.g., by a pizza delivery at the door. As such,the first user 110 a pauses the viewing of the media content item. Inthe example shown in FIG. 1A, the first user 110 a has paused The EmpireStrikes Back during a first scene (e.g., segment A), while the viewingprogress of the second user 102 b has continued through segment A (whilethe first user 102 a collects the pizza). Such operation of the groupwatching session is permitted since segment A has been identified as asegment that does not require synchronization. In some examples, controlcircuitry may be configured to pause the viewing progress of the seconduser 102 b at the start of another scene (e.g., segment B), e.g., basedon segment B being identified as a segment of interest. For example,FIG. 4A shows the viewing progress of the second user 110 b havingreached time t=t1, which is the start of segment B. In some examples, asthe viewing progress of a user approaches a new segment, controlcircuitry may be configured to access synchronization schedule 400 todetermine whether the upcoming segment is a segment of interest. Forexample, segment B of the movie The Empire Strikes Back may comprise thescene where Darth Vader reveals that he is Luke Skywalker's father. Assuch, it is desirable for the viewing progress of the first user 102 aand the second user 102 b to be synchronized for viewing of this keyscene. In the example shown in FIG. 4A, the difference between theviewing progress of the first user 102 a and the second user 102 b iscalculated as Δt=x, which represents the viewing time elapsed, e.g., inminutes and seconds, between the moment the first user 102 a paused themovie during segment A and start of the next segment of interest, e.g.,segment B.

At 308, control circuitry causes the viewing progress at the first andsecond user devices 102 a, 102 b to be synchronized for the presentationof at least one of the identified segments. For example, in response todetermining that the viewing progress at the second user device 102 bhas reached the start of a segment of interest, control circuitry causesthe viewing progress at the second user device 102 b to pause, e.g., sothat the second user 110 b cannot progress further through an importantscene of the movie. In the example shown in FIG. 1B, the viewingprogress at the second user device 102 b is paused at time t=t1, whichis Δt=x ahead of the viewing progress at the first user device 102 a, asshown in FIG. 4A. In some cases, the difference between the viewingprogress at the first user device 102 a and the second user device 102 bmay be small, e.g., a few seconds, or a minute. As such, the first user110 a may be allowed to watch the portion of the movie elapsed betweenthe time the first user 110 a paused the movie and the start of segmentB, while the viewing progress at the second user device 102 b remainspaused at the start of segment B. In other cases, the difference betweenthe viewing progress at the first and second user devices 102 a, 102 bmay be a larger amount, e.g., a few minutes, or longer, such as in theexample shown in FIGS. 1A and 1B, where the first user 110 a pauses themovie to collect a pizza from the door. In some examples, controlcircuitry may be configured to determine a difference (Δt) between theviewing progress at the first and second user devices 102 a, 102 b, andcompare the difference to a threshold difference. For example, athreshold difference may be set at a default amount, e.g., 1 minute, bythe operator of the group watching session. Additionally oralternatively, the threshold difference may be set according to one ormore user profiles of the users participating in the group watchingsession. Where the difference between the viewing progress at the firstuser device 102 a and the second user device 102 b is greater than thethreshold difference, control circuitry may be configured to perform oneor more additional operations. For example, control circuitry may beconfigured to cause additional content 112 to be presented to the seconduser 110 b, which can keep the second user 110 b entertained while thefirst user 110 a catches up to the viewing progress at the second userdevice 102 b. The additional content may comprise any content suitablefor presentation, such as information about the movie, an interactivegame, deleted scenes, director's commentary, a commercial, acommunication session (e.g., a video call with another user in the groupwatching session), etc. In some examples, control circuitry isconfigured to access a library of additional content and select theadditional content based on one or more factors, such as the Δt betweenthe viewing progress at the first and second user devices 102 a, 102 b(e.g., control circuitry may select one or more commercials having atotal run time corresponding to the Δt value), and/or one or more userpreferences, e.g., for a particular type of content. Selection of theadditional content is described below in more detail in relation to theexample shown in FIGS. 5A and 5B. In the example shown in FIG. 1A, theadditional content 112 comprises information relating to synchronizationschedule 400 and the viewing progress of the other user(s) in the groupwatching session, which enables the second user 110 b to understand forwhat reason and how long the movie will be paused for. In some examples,the additional content 112 may be displayed on one or more other userdevices, such as a smart phone 102 c or tablet, in addition to orinstead on the second user device 102 b.

In some examples, in response to determining a difference, e.g., Δt=x,between the viewing progress at the first user device 102 a and thesecond user device 102 b, control circuitry may control a playback speedof the media content item on at least one of the first or second userdevices 102 a, 102 b in order to reduce the Δt value, and cause theviewing progress at the first and second user devices 102 a, 102 b to besynchronized for the presentation of at least one of the identifiedsegments. In the example shown in FIG. 1B, control circuitry causes theplayback speed of the movie to be paused at the second user device 102 band increased at the first user device 102 a, e.g., to reduce the amountof time for which presentation of the movie at the second user device102 b is suspended. Additionally, while increasing the playback speed,control circuitry may generate one or more trick play functions 114 tohelp the first user 110 a understand the content being displayed at anincreased speed. In some examples, control circuitry may be configuredto monitor the additional content 112 presented on the second userdevice 102 b and adjust the playback speed at the first user device 102a based on the content presented at the second user device 102 b. Forexample, where presenting the additional content comprises openingcommunication between the second user 110 b and one or more other users,the playback speed at the first user device 102 a may be adjusted basedon the state of the communication, e.g., whether a conversation betweenthe second user 110 b and one or more other users is ongoing or not.

In this manner, the method outlined by 302 to 308 provides improvedoperation of a group watching session, e.g., by allowing presentation ofa media content item at multiple user devices to become unsynchronizedfor segments of the media content item for which the likelihood of userinterest is low, e.g., segments A and G, and to become synchronized(and/or resynchronized) for segments of the media content item for whichthe likelihood of user interest is high, e.g., segments B to F. However,in one or more other examples, the manner in which the likelihood ofuser interest for each of the segments is determined may vary, asdescribed below.

The actions or descriptions of FIG. 3 may be used with any other exampleof this disclosure, e.g., the example described below in relation toFIGS. 5A and 5B. In addition, the actions and descriptions described inrelation to FIG. 3 may be done in any suitable alternative orders or inparallel to further the purposes of this disclosure.

FIGS. 5A and 5B show a flowchart representing another process foroperating a group watching session, in accordance with some examples ofthe disclosure. While the example shown in FIGS. 5A and 5B refers to theuse of system 100, as shown in FIGS. 1A and 1B, it will be appreciatedthat the illustrative process shown in FIGS. 5A and 5B, and any of theother illustrative processes described herein, may be implemented onsystem 100, either alone or in combination with any other appropriatelyconfigured system architecture, such as system 200.

At 502, control circuitry initiates a group watching session, e.g.,based on a user instruction received by a guidance application. Forexample, a group of users may have arranged to meet virtually for agroup watching session of a media content item. In some examples, thegroup watching session may be started by one of the users in the groupwho has selected a media content item for presentation. In the contextof the present disclosure, the term group watching session is understoodto mean any session in which multiple users participate to share in thepresentation of a media content item, such as a movie streamed by an OTTcontent provider, a lecture/webinar streamed by an educationalinstitution, or a meeting/presentation hosted in a virtual meetingspace. While the systems and methods described herein are applicable tomany use cases, the below example describes the systems and methods withreference to the movie The Empire Strikes Back.

At 504, control circuitry causes the movie The Empire Strikes Back to bepresented at a first user device 102 a (e.g., a first participantdevice) and a second user device 102 b (e.g., a second participantdevice). For example, control circuitry may cause the movie to bestreamed from one or more content providers to the first and second userdevices 102 a, 102 b, e.g., so that the movie is cued to be presentedupon one of the first user 110 a and the second user 110 b requestingplayback. In other words, once playback has been selected, the moviestarts at the same time at the first and second user devices 102 a, 102b so that its presentation is synchronized. For example, in the exampleshown in FIGS. 4A to 4F, the presentation of The Empire Strikes Backstarts at t=t0 at the first and second user devices 102 a, 102 b, asshown by respective progress bars 402 a and 402 b.

At 506, control circuitry generates synchronization schedule 400, e.g.,in a similar manner to that described under 304 of process 300.Additionally or alternatively, to that described for 304, 506 comprises508 to 540. In the example shown in FIGS. 4A to 4F, 5A and 5B,synchronization schedule 400 is used by control circuitry to identifyone or more segments of the movie for which its presentation is to besynchronized at the first user device 102 a and the second user device102 b, and one or more segments of the movie for which its presentationis allowed to be unsynchronized at the first user device 102 a and thesecond user device 102 b.

Moving from 504, process 500 comprises 508, at which control circuitrydetermines at least one content-level factor for each segment of themovie, and 510, at which control circuitry determines, for each userdevice 102 a and 102 b, at least one user-level factor for each segmentof the movie, in a similar manner to that described above under 304.

In the example shown in FIG. 5A, at 512 control circuitry accesses mediacontent item metadata which is used to determine one or morecontent-level factors for the movie. For example, metadata relating tothe movie may indicate which scenes of the movie comprise certain typesof content. For example, metadata for The Empire Strikes Back mayindicate which actors/characters are present in one or morescenes/frames of the movie, timing information relating to the startpoint, the end point, and the length of various scenes of the movie, andinformation indication which scenes of the movie contain key plotinformation. Additionally or alternatively, control circuitry may accessmetadata at 512 to determine which scenes of the movie are popular,e.g., trending, based on one or more online reviews or discussions. Insome examples, the metadata may relate to one or more historic userinputs made while viewing the movie, e.g., in a previous group watchingsession. For example, metadata may contain information regarding whichportions of the movie are typically paused, rewound, fast-forwarded,etc. by users. In this manner, control circuitry may determine whichsegments of the movie are likely to be of interest to the first andsecond users 110 a, 110 b in the group watching session, and thus whichsegments of the movie are likely to require synchronization at the firstand second user devices 102 a, 102 b.

At 514 control circuitry determines if the content-level factors for themovie are above respective content-level factor thresholds. For example,where the metadata for the movie indicates that a scene contains acertain character, e.g., Darth Vader, control circuitry may determinethe prominence of the character in the scene, e.g., based on the amountof dialogue the character has in the scene, or the number of actionsperformed by the character in the scene. A content-level factor may beabove a content-level factor threshold where the character is prominentin the scene. Additionally or alternatively, where the metadata for themovie indicates one or more ratings for the scene, control circuitry maycompare the rating for the scene to a rating threshold. A content-levelfactor may be above a content-level factor threshold where the ratingfor the scene is above the rating threshold. In this manner, controlcircuitry may determine, based on one or more content-level factorsbeing below respective thresholds, that segment A of The Empire StrikesBack, starting at t=t0 and ending at t=t1, does not contain content oflikely interest to the first and second users 110 a, 110 b. As a resultof this determination, control circuitry tags segment A with anunsynchronized tag at 516. In a similar manner, control circuitry maydetermine, based on one or more content-level factors being aboverespective thresholds, that segment B of The Empire Strikes Back,starting at t=t1 and ending at t=t2, contains content of likely interestto the first and second users 110 a, 110 b. As a result of thisdetermination, control circuitry tags segment B with a synchronized tagat 518. Continuing in this manner, control circuitry tags segment C,starting at t=t2 and ending at t=t3, with a unsynchronized tag at 516,segment D, starting at t=t3 and ending at t=t4, with a unsynchronizedtag at 516, segment E, starting at t=t4 and ending at t=t5, with asynchronized tag at 518, segment F, starting at t=t5 and ending at t=t6,with a synchronized tag at 518, and segment G, starting at t=t6 andending at t=t7 (not shown) with a unsynchronized tag at 516. In theexample shown in FIGS. 4A to 4F, row A of synchronization schedule 400illustrates the tagging of the various segments of the movie asdescribed above.

Returning to 510, control circuitry accesses, at 520, a user profile foreach user in the group watching session. For example, control circuitrymay access a first user profile of the first user 102 a and a seconduser profile of the second user 102 b. At 510, control circuitrydetermines one or more user preferences for each user participating inthe group watching session. For example, control circuitry may access,e.g., at 512, a user profile for each user participating in the groupwatching session to determine one or more topics of interest of theuser. In some examples, a user preference may be determined from one ormore selected topics in the user's profile. For example, the first user110 a may indicate, e.g., by manual input, interest in one or morecharacters, such as Darth Vader, whereas the second user 110 b mayindicate that they dislike, or have no preference either way for thecharacter Darth Vader. Additionally or alternatively, a preference of auser may be determined by analyzing historic viewing data of the user,one or more past communications of the user, and/or any otherappropriate data that may indicate what the user is interested in, suchas the number and/or type of playback functions requested duringconsumption of media content. In this manner, control circuitry mayderive one or more user-level factors indicating which segments of amedia content item a user is likely to be interested in, e.g., by virtueof a segment containing a favorite actor, being of a particular genre,relating to a particular subject-matter, etc. In some examples, controlcircuitry may be configured to cross reference a user-level factor witha content-level factor of the media content item to determine whether auser is likely to be interested in a particular segment of the mediacontent item. For the avoidance of doubt, 510 may be performed in asimilar manner to that described above in relation to 304, incombination with, or instead of, the process outlined in this paragraph.

In the example shown in FIGS. 4A to 4F, control circuitry determines,based on the user-level factors determined for the first user 110 a,that the first user 110 a is likely to be interested in segments B, Cand D, and is not likely to be interested in segments A, E, F and G.Additionally, control circuitry determines, based on the user-levelfactors determined for the second user 110 b, that the second user 110 bis likely to be interested in segments B, D and F, and is not likely tobe interested in segments A, C, E and G. In the example shown in FIGS.4A to 4F, row B illustrates the user-level factors of the first user 110a for each segment of the movie, and row C illustrates the user-levelfactors of the second user 110 b for the corresponding segments of themovie.

At 522, control circuitry determines whether the users are interested inthe same segments. For example, control circuitry may determine whetherthe segments that the first user 110 a is likely to be interested in arethe same segments that the second user 110 b is likely to be interestedin. In other words, control circuitry determines whether the user-levelfactor(s) of the first user 110 a match the user-level factor(s) of thesecond user 110 b, e.g., for each segment of the movie that either ofthe first and second users 110 a, 110 b may be interested in. Where theuser-level factors for the users match for a segment indicating likelyinterest, control circuitry tags that segment with a synchronized tag at524. Where the user-level factors for the users do not match for asegment or where no interest is indicated by both user's user-levelfactors, control circuitry tags that segment with a unsynchronized tagat 526. For example, synchronization schedule 400 indicates theuser-level factors indicate interest and match for segments B and D. Assuch, segments B and D are each tagged with a synchronized tag at 524,since both users are likely to be interested in those segments. Whereassegments A, C, E, F and G are each tagged with an unsynchronized tag at526, since none of the users or not all users are likely to beinterested in those segments.

At 528, control circuitry determines whether there is a tag conflict forone or more of the segments. Following the above example, segment A wastagged with a first unsynchronized tag at 516 and a secondunsynchronized tag at 526. As such, control circuitry determines thatthere is no tag conflict and proceeds to 530 where the tag for segment Ais confirmed as an unsynchronized tag, e.g., control circuitry confirmsthat segment A is a segment for which presentation of the movie isallowed to be unsynchronized. In a similar manner, there is no tagconflict for each of segments C, E and G, and, as such, controlcircuitry confirms that each of segments C, E and G is a segment forwhich presentation of the movie is allowed to be unsynchronized. SegmentB was tagged with a first synchronized tag at 518 and a secondsynchronized tag at 524. As such, control circuitry determines thatthere is no tag conflict and proceeds to 530 where the tag for segment Bis confirmed as a synchronized tag, e.g., control circuitry confirmsthat segment B is a segment for which presentation of the movie is to besynchronized. However, segment D was tagged with an unsynchronized tagat 516 and a synchronized tag at 524, and segment F was tagged with asynchronized tag at 518 and an unsynchronized tag at 526. As a result,control circuitry determines that there is a tag conflict for thesesegments and moves to 532. In some examples, where the number of usersis greater than two, control circuitry may perform a count of the numberof synchronized tags and the number of unsynchronized tags added to asegment, and determine whether a tag conflict exists based on the numberof synchronized tags compared to the number of unsynchronized tags,e.g., by determining whether there are more of one type of tag than theother type of tag.

At 532, control circuitry attempts to resolve any tag conflictsdetermined at 528. For example, control circuitry may access one or moreuser profiles at 534 and/or request user input to resolve the conflictat 536. For example, a user profile may indicate a preference toprioritize a synchronized tag based on user-level factors over anunsynchronized tag based on content-level factors, e.g., where multiple(e.g., all) users are likely to be interested in a segment even when oneor more content-level factors indicate a low chance of interest, such asfor segment D. In some cases, a user profile may indicate a preferenceto prioritize an unsynchronized tag based on user-level factors over asynchronized tag based on content-level factors, e.g., where multiple(e.g., all) users are likely to not be interested in a segment even whenone or more content-level factors indicate a high chance of interest,such as for segment E. In other cases, a user profile may indicate apreference to prioritize a synchronized tag based on a content-levelfactor over an unsynchronized tag based on user-level factors, e.g.,where content-level factors indicate a high chance of interest anduser-level factors indicate a difference in the preferences of the usersparticipating in the group watching session, such as for segment F. Insome examples, control circuitry may request user confirmation oroverride of any prioritization determined from one or more user profilesat 536. Otherwise, if control circuitry is unable to determine any userpreferences, control circuitry may request user input to determine whichtype of tag to prioritize for the segment.

At 538, control circuitry updates the tag in response to resolving theconflict at 532. For example, control circuitry may update the tag forsegment D to a synchronized tag, update the tag for segment E to anunsynchronized tag, and update the tag for segment F to a synchronizedtag.

At 540, control circuitry determines, e.g., based on 530 and 538 incombination with metadata for the movie, the start and end time of eachof the synchronized segments, e.g., segments B, D and F, and the startand end time of each of the unsynchronized segments, e.g., segments A,C, E and G. In the context of the present disclosure, 508 to 540contribute to the generation of synchronization schedule 400. However,in one or more other examples, generation of the synchronizationschedule 400 may comprise any other appropriate steps that result in atleast one segment of the movie being identified as a segment for whichthe presentation of the movie is to be synchronized at the first userdevice 102 a and the second user device 102 b.

At 542, control circuitry controls playback functionality for one ormore segments of the movie, e.g., in response to generatingsynchronization schedule 400. For example, control circuitry may enableplayback functionality for one or more non-synchronized segments at 544,and limit playback functionality for one or more synchronized segmentsat 546. In some examples, playback functionality may be enabled for oneor more non-synchronized segments to allow respective users to pause,fast forward, rewind, etc., the movie based on individual preferences orother external factors, such as interruptions. Additionally oralternatively, playback functionality may be disabled for one or moresynchronized segments to prevent respective users pausing, fastforwarding, rewinding, etc., the movie based on individual preferencesor other external factors, such as interruptions. In this manner, 542allows for different users in the group watching session to progress atdifferent viewing rates, e.g., based on the synchronization schedule400.

At 547, control circuitry initiates a group communication mode, e.g., toenable group communication between two or more users in the groupwatching session. The group watching session may be initiated in timefor users to communicate during a synchronized segment. For example, thefirst user 110 a and the second user 110 b may wish to communicate todiscuss content of common interest in a synchronized segment. In someexamples, a group communication mode may be initiated during, or after(e.g., immediately after) a synchronized segment, so that users candiscuss the content of the synchronized segment, which may be of commoninterest. In some examples, a group communication mode may form at leastpart of additional content presented to one or more users in the groupwatching session, e.g., additional content that is presented at 562,discussed below.

At 548, control circuitry determines the viewing progress of each of thefirst and second users 110 a, 110 b, e.g., in a manner similar to thedescribed under 306. For example, control circuitry may determine thatthe viewing progress of the media content item at the first user device102 a is different from a viewing progress of the media content item atthe second user device 102 b. In other words, control circuitry maydetermine that the viewing progress of the movie is not synchronizedacross the users in the group watching session, and that an upcomingsegment of the movie is a segment for which viewing progress is to besynchronized at first and second user devices 102 a, 102 b participatingin the group watching session. At 556, in response to such determining,control circuitry causes the viewing progress at the first and seconduser devices 102 a, 102 b to be synchronized for the presentation of theupcoming segment. The below examples, with reference to FIGS. 4A to 4F,illustrate various ways of determining that the viewing progress at oneuser device is behind the viewing progress of another device, andcorresponding ways in which viewing progress may be synchronized.

In some examples, at 550, control circuitry determines a duration of themovie between the viewing progress at each of the first and secondparticipant devices and a synchronized segment, e.g., see FIG. 4A. InFIG. 4A, the viewing progress at the second user device 102 b hasalready reached the start of a first synchronized segment, segment B. Assuch, control circuitry causes the viewing progress at the second userdevice 102 b to be paused, and determine how far behind the viewingprogress at the first user device 102 a is, e.g., Δt=x. In response,control circuitry causes the viewing progress at the first user device102 a to increase in speed at 558, e.g., by performing one or more trickplay functions 114, as shown in FIG. 1B, until the difference betweenthe viewing progress at the first user device 102 and the second userdevice 102 b reduces, e.g., below a threshold value, such as 5 seconds,or to zero. In the example shown in FIG. 4B, the difference between theviewing progress at the first user device 102 a and the second userdevice 102 is Δt=0, meaning that the viewing progress is synchronizedfor the start of segment B.

Additionally or alternatively, at 552, control circuitry determines aduration of the media content item between the viewing progress at thefirst user device 102 a and the viewing progress at the second userdevice 102 b, e.g., see FIG. 4C. In FIG. 4C, the viewing progress at thesecond user device 102 b is ahead of the viewing progress at the firstuser device 102 a by a certain amount, e.g., Δt=y. In response, controlcircuitry automatically controls the playback speed at both the firstuser device 102 and the second user device 102 b to cause the viewingprogress to be synchronized. For example, control circuitry may causethe playback speed at the first user device 102 a to increase in speedat 558, e.g., by performing one or more trick play functions 114, asshown in FIG. 1B, and/or the playback speed at the second user device102 b to decrease in speed, e.g., by selecting and presenting additionalcontent 112 at 560 and 562 respectively, as shown in FIG. 1B, until thedifference between the viewing progress at the first user device 102 andthe second user device 102 b reduces, e.g., below a threshold value,such as 5 seconds, or to zero. In the example shown in FIG. 4D, thedifference between the viewing progress at the first user device 102 andthe second user device 102 is Δt<5 seconds, meaning that the viewingprogress is substantially synchronized by at least the start of segmentD.

Additionally or alternatively, at 554, control circuitry determines aduration of an interruption in the viewing progress at at least one ofthe first or second user devices 102 a, 102 b. In the example shown inFIG. 4E, control circuitry determines the duration of an interruptioncaused by a pizza delivery to the first user 110 a. In some examples,control circuitry may be configured to access data on the first user'ssmart phone 102 c to determine when and for how long for an interruptionto the viewing progress at the first user device 102 a will be. Forexample, control circuitry may access an app on the smart phone 102 cindicating that a delivery is in progress. In some examples, controlcircuitry may automatically pause the viewing progress at the first userdevice 102 a when delivery of the pizza is indicated on the smart phone102 c. Control circuitry may then start a timer to determine a periodfor which the movie remains paused at the first user device 102 a, e.g.,a time between control circuitry automatically pausing the movie, andthe first user 110 a issuing an instruction to resume playback. In theexample shown in FIG. 4E, this period is shown as Δt=z. In response,control circuitry automatically controls the playback speed at both thefirst user device 102 and the second user device 102 b to cause theviewing progress to be synchronized. For example, control circuitry mayselect and present additional content 112 at 560 and 562 respectively atthe second user device 102 b, as shown in FIG. 1B, until the differencebetween the viewing progress at the first user device 102 and the seconduser device 102 b reduces, e.g., below a threshold value, such as 5seconds, or to zero. In the example shown in FIG. 4F, the differencebetween the viewing progress at the first user device 102 a and thesecond user device 102 is Δt<10 seconds, meaning that the viewingprogress is substantially synchronized by at least the end of segment F.

At 564, control circuitry causes each synchronized segment, e.g.,segments B, D and F, to be presented at the first and second userdevices 102 a, 102 b, in response to one or more of the catch-upmechanisms outlined above.

At 556, control circuitry causes presentation of the movie to continueto the next segment, e.g., from segment F to segment G.

In some examples, process 500 comprises 566, at which control circuitrydetermines whether a portion of the movie was skipped as a result of theplayback speed control at 558. For example, where the viewing progressat one user device was behind the viewing progress at another userdevice by an amount larger than a threshold amount, such as 10 minutesor 15 minutes, which may be caused by a longer interruption, it may bedesirable to skip a relatively large portion of the movie whencatching-up the user who fell far behind. As such, control circuitry maycause a trick play function to skip one or more entire scenes whenimplementing 558. Where control circuitry determines that a largerportion, e.g., an entire scene or a portion of content greater than athreshold duration (e.g., 5 minutes), to be skipped, process 500 movesto 570, otherwise, the next segment is presented at 566.

At 570, control circuitry causes the skipped portion to be added to alibrary of additional content, which is accessed at 572 when controlcircuitry selects additional content to be presented during one or moreof the above catch-up mechanisms. In this manner, where one user haspreviously been caused to skip a portion of the movie as a result offalling behind, and then finds themselves being ahead of one or moreother users at a later stage of the group watching session, controlcircuitry may cause the skipped portion to be presented to that userwhen presenting additional content to synchronize the viewing progressof the group watching session. In this manner, a user may not actuallymiss any of the movie by virtue of the improved methods and systems forproviding flexible viewing during a group watching session.

The actions or descriptions of FIGS. 5A and 5B may be used with anyother example of this disclosure. In addition, the actions anddescriptions described in relation to FIGS. 5A and 5B may be done in anysuitable alternative orders or in parallel to further the purposes ofthis disclosure.

The above disclosure is directed to techniques for presenting mediacontent at a plurality of computing devices according to a schedule ofin-sync and out-of-sync consumption of the content together withparticipant interactions (e.g., chat, audio, and/or video) related tothe content. The disclosed techniques create and manage the schedule ofin-sync/out-of-sync consumption by predicting, identifying, andanalyzing segments of the media content that correspond to likely groupinteraction, and thereby helps to facilitate informed and interestedparticipant interactions with the content. More particularly, thesystems and methods use a hierarchy of content-level interest anduser-level interest to identify segments of interest to specify in-syncsegments and out-of-sync segments of the schedule. Content-levelinterest may be used to identify primary in-sync segments, e.g., asegment related to a climax portion of a movie or show, a widelyreviewed or discussed segment of the content, a group presentationsegment in a meeting, a group instruction segment in a remote-educationcontext, etc. In-sync segments identified according to content-levelinterest may be applied to the entire group. Additional in-sync segmentsmay be applied to a subset of the group, and be based onparticipant-level interest in other segments of the content. Forinstance, besides the primary in-sync segments, a subset of participantsmay be interested in other segments that relate to a particular genre(humor, action, horror, etc.), favorite actors, a sub-topic in a meetingor lecture, etc. Other segments of the media content item, besides theprimary in-sync segments (based on content-level interest) andadditional in-sync segments (based on participant-level interest) maythen be identified as out-of-sync segments. The systems and methods mayaccordingly generate different synchronization schedules for differentparticipants based at least in part on additional in-sync segments thatdiffer among the various participants.

Additionally or alternatively, the systems and methods may customizesynchronization schedules for participants by dynamically enablingparticipant-level playback functionality (e.g., rewind, fast forward,pause, etc.) to accommodate participant media-consumption preferences,and to enforce consumption according to the schedule and bring theparticipants together as a group for at least primary in-sync segments.In some examples, the systems and methods dynamically enable playbackfunctionality during out-of-sync segments and/or in-sync segmentsapplied to a subset of participants. The techniques also help to manageparticipant interactions in various ways. For instance, the systems andmethods may provide additional (e.g., supplemental) content duringout-of-sync segments and/or the additional in-sync segments applied to asubset of participants. The systems and methods may dynamically enableparticipant-level playback functionality for the supplemental content.In some examples, the systems and methods determine participant interestin particular content segments and enable/disable interaction and/orplayback functionality based on the determined interest. For instance,if a subset of the participants are interested in a particular segment,the systems and methods may create and populate a breakout session forinteraction with the particular segment. Further, the systems andmethods may, for a period of time leading up to the particular segment,block discussion (e.g., chat, video, audio) of the particular segment toavoid revealing unknown or future outcomes/context (e.g., spoilers) tothe subset of participants. If a participant is uninterested in theparticular segment, the systems and methods may allow certain playbackfunctionality (e.g., rewind, fast forward, pause, etc.), and may monitormedia consumption together with the synchronization schedule to limitplayback functionality, as needed, to enforce group consumption of laterin-sync segments.

In some examples according to the present disclosure, a method ofoperating a group watching session may comprise one or more of, orvarious combinations of, the following processes: i) determine one ormore segments for group interaction (i.e., a segment of interest) basedon one or more content-level factors; ii) determine, based on the one ormore content factors, a first set of one or more segments for groupinteraction; iii) determine one or more group segments for groupinteraction based on one or more participant-level factors; iv)determine, based on one or more participant-interest factors, a secondset of one or more interactive segments; v) determineconsumption/playback habits based on one or more participant-levelfactors; vi) determine, based on one or more media-consumption factors,a media-consumption pattern for a particular participant; vii)identify/monitor for interruptions, and receive information regarding atleast one interruption unrelated to the media content, e.g., that iscaused by an external factor; viii) for each participant/user device,create a timeline according to the synchronization schedule; ix)generate based on the first and second sets of one or more interactivesegments, a schedule for consuming the content, wherein the scheduleincludes one or more in-sync segments and one or more out-of-syncsegments; ix) the one or more in-sync segments further comprises a firstin-sync segment based at least in part on the first set of one or moreinteractive segments, and a second in-sync segment based at least inpart on the second set of one or more interactive segments, wherein thefirst in-sync segment and the second in-sync segment are distinct; x)dynamically allow selective playback functionality, in particular,during out-of-sync segments, in which the playback functionality may bebased on participant-interest factors and media consumption factors of aparticular participant; xi) selectively enable, for the particularparticipant, media-playback functionality during at least one of the oneor more out-of-sync segments; xii) monitor actual media consumption andschedule for consuming the content, and modify media-playbackfunctionality for the particular participant to bring participants backtogether for in-sync segments; xiii) modify, based at least in part onactual media consumption of the particular participant and an upcomingin-sync segment, the media playback functionality for the particularparticipant.

The processes described above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined, and/orrearranged, and any additional steps may be performed without departingfrom the scope of the invention. More generally, the above disclosure ismeant to be illustrative and not limiting. Only the claims that followare meant to set bounds as to what the present invention includes.Furthermore, it should be noted that the features and limitationsdescribed in any one example may be applied to any other example herein,and flowcharts or examples relating to one example may be combined withany other example in a suitable manner, done in different orders, ordone in parallel. In addition, the systems and methods described hereinmay be performed in real time. It should also be noted that the systemsand/or methods described above may be applied to, or used in accordancewith, other systems and/or methods.

1. A method comprising: initiating a group watching session forpresentation of a media content item at a first participant device and asecond participant device; identifying a segment of the media contentitem for which the presentation of the media content item is to besynchronized at the first participant device and the second participantdevice; determining that a viewing progress of the media content item atthe first participant device is different from a viewing progress of themedia content item at the second participant device; and in response tothe determining, causing the viewing progress at the first and secondparticipant devices to be synchronized for the presentation of theidentified segment.
 2. The method of claim 1, wherein causing theviewing progress at the first and second participant devices to besynchronized comprises at least one of: presenting additional content toat least one of the first or second participant devices to synchronizethe viewing progress at the first and second participant devices by thestart of the identified segment; or automatically controlling a playbackspeed of the media content item on at least one of the first or secondparticipant devices to synchronize the viewing progress of the first andsecond participant devices by the start of the segment.
 3. The method ofclaim 1, wherein determining that the viewing progress of the mediacontent item at the first participant device is different from theviewing progress of the media content item at the second participantdevice comprises at least one of: determining a duration of the mediacontent item between the viewing progress at each of the first andsecond participant devices and the segment of the media content item; ordetermining a duration of the media content item between the viewingprogress at the first participant device and the viewing progress at thesecond participant device.
 4. The method of claim 1, the methodcomprising generating a synchronization schedule for the group watchingsession, the synchronization schedule comprising at least one segmentfor which the viewing progress of the first and second participantdevices is to be synchronized, and at least one segment for which theviewing progress of the first and second participants is not to besynchronized.
 5. The method of claim 4, the method comprisingcontrolling playback functionality for at least one of the first orsecond participant devices based on the synchronization schedule.
 6. Themethod of claim 4, wherein the method comprises at least one of:determining one or more content-level factors associated with the mediacontent item; or determining one or more participant-level factorsassociated with a user profile, wherein the synchronization schedule isgenerated based on at least one of the one or more content-level factorsor the one or more participant-level factors.
 7. The method of claim 6,wherein the method comprises: determining a conflict between at leastone content-level factor and at least one of the participant-levelfactors; and updating the synchronization schedule based on theconflict.
 8. The method of claim 1, wherein causing the viewing progressat the first and second participant devices to be synchronized comprisesautomatically controlling a playback speed of the media content item onat least one of the first or second participant devices to synchronizethe viewing progress of the first and second participant devices by thestart of the segment, wherein automatically controlling the playbackspeed of the media content item causes at least one of the first andsecond participant devices to skip a portion of the media content item,the method further comprising: presenting the skipped portion at thefirst participant device and/or the second participant device afterpresentation of the identified segment.
 9. The method of claim 1, themethod comprising: determining one or more interruptions in the viewingprogress at one or more of the first or second participant devices; andin response to determining one or more interruptions in the viewingprogress at one or more of the first and second participant devices,causing the viewing progress of the first and second participant devicesto be synchronized for the identified segment of the media content item.10. The method of claim 1, the method comprising: initiating a groupcommunication mode for the identified segment of the media content item.11. A system comprising control circuitry configured to: initiate agroup watching session for presentation of a media content item at afirst participant device and a second participant device; identify asegment of the media content item for which the presentation of themedia content item is to be synchronized at the first participant deviceand the second participant device; determine that a viewing progress ofthe media content item at the first participant device is different froma viewing progress of the media content item at the second participantdevice; and in response to the determining, cause the viewing progressat the first and second participant devices to be synchronized for thepresentation of the identified segment.
 12. The system of claim 11,wherein, when causing the viewing progress at the first and secondparticipant devices to be synchronized, control circuitry is configuredto at least one of: present additional content to at least one of thefirst or second participant devices to synchronize the viewing progressat the first and second participant devices by the start of theidentified segment; or automatically control a playback speed of themedia content item on at least one of the first or second participantdevices to synchronize the viewing progress of the first and secondparticipant devices by the start of the segment.
 13. The system of claim11, wherein, when determining that the viewing progress of the mediacontent item at the first participant device is different from theviewing progress of the media content item at the second participantdevice, control circuitry is configured to at least one of: determine aduration of the media content item between the viewing progress at eachof the first and second participant devices and the segment of the mediacontent item; or determine a duration of the media content item betweenthe viewing progress at the first participant device and the viewingprogress at the second participant device.
 14. The system of claim 11,wherein control circuitry is configured to generate a synchronizationschedule for the group watching session, the synchronization schedulecomprising at least one segment for which the viewing progress of thefirst and second participant devices is to be synchronized, and at leastone segment for which the viewing progress of the first and secondparticipants is not to be synchronized.
 15. The system of claim 14,wherein control circuitry is configured to control playbackfunctionality for at least one of the first or second participantdevices based on the synchronization schedule.
 16. The system of claim14, wherein control circuitry is configured to at least one of:determine one or more content-level factors associated with the mediacontent item; or determine one or more participant-level factorsassociated with a user profile, wherein the synchronization schedule isgenerated based on at least one of the one or more content-level factorsor the one or more participant-level factors.
 17. The system of claim16, wherein control circuitry is configured to: determine a conflictbetween at least one content-level factor and at least one of theparticipant-level factors; and update the synchronization schedule basedon the conflict.
 18. The system of claim 11, wherein control circuitryis configured to, when causing the viewing progress at the first andsecond participant devices to be synchronized, automatically control aplayback speed of the media content item on at least one of the first orsecond participant devices to synchronize the viewing progress of thefirst and second participant devices by the start of the segment,wherein automatically controlling the playback speed of the mediacontent item causes at least one of the first and second participantdevices to skip a portion of the media content item, wherein controlcircuitry is further configured to: present the skipped portion at thefirst participant device and/or the second participant device afterpresentation of the identified segment.
 19. The system of claim 11,wherein control circuitry is configured to: determine one or moreinterruptions in the viewing progress at one or more of the first orsecond participant devices; and in response to determining one or moreinterruptions in the viewing progress at one or more of the first andsecond participant devices, cause the viewing progress of the first andsecond participant devices to be synchronized for the identified segmentof the media content item.
 20. The system of claim 11, wherein controlcircuitry is configured to: initiate a group communication mode for theidentified segment of the media content item. 21.-40. (canceled)